
一、linux基本操作
1、进入某文件夹（当前目录某文件夹）：cd 文件夹
2、进入根目录home文件夹：cd /home查看文件日志：tail -f catalina.out
3、备份（把wes_20150529bak.tar解压，解压后文件名wes）：tar -cvf wes_20150529bak.tar wes
4、解压：tar -xvf wes_20150331bak.tar
5、查看进程（grep搜索的意思，这里搜索关于tomcat的进程）：ps -ef | grep tomcat
6、改变文件或目录的权限（abc为文件名）
	chmod 改变文件或目录的权限
	chmod 755 abc：赋予abc权限rwxr-xr-x
	chmod u=rwx，g=rx，o=rx abc：同上u=用户权限，g=组权限，o=不同组其他用户权限
	chmod u-x，g+w abc：给abc去除用户执行的权限，增加组写的权限
	chmod a+r abc：给所有用户添加读的权限
7、linux crontab定时器
	编辑定时器：crontab –e
	插入定时器：i
	保存定时器：Ctrl+c,:wq
	添加任务（每天凌晨运行XXXXXXXX.sh文件）：0 0 * * * /home/linrui/XXXXXXXX.sh
	查看：crontab –l
	删除 crontab 文件：crontab -r
	删除 crontab 文件前提醒用户：crontab -ir
	-----------CentOS6-------------
	service crond start //启动服务
	service crond stop //关闭服务
	service crond restart //重启服务
	service crond reload //重新载入配置
	-----------CentOs7-------------
	systemctl is-enabled crond.service//检测cron定时服务是否自启用,enable表示已启用自启动,disable标识未启用自启动
	systemctl enable crond.service//开启cron定时服务
	systemctl status crond.service//只有cron的状态是active  running的，才表示cron服务是启动的
	systemctl start crond.service//启动cron服务[命令没有提示]
	systemctl stop crond.service//停止cron服务[命令没有提示]
	systemctl restart crond.service//重启cron服务[命令没有提示]
	systemctl reload crond.service//重新加载cron服务[命令没有提示]
	
	tail -f -n 200 /var/log/cron  //查看定时任务的执行日志
	保存修改后的 crontab ：报错信息如下：E37: No write since last change (add ! to override)
	解决办法是：在修改完后，将命令 :q 改成 :wq 即可。
8、查看网络端口使用情况（端口4040被占用）：netstat -apn | grep 4040//最后一项显示的是pid和对应的名称
9、删除某个进程：kill -9 26105
10、后台运行java项目：sh执行方式----- (./sh &)；程序执行方式---- (class &)
11、跨服务器复制文件到/home/temp/（不是文件夹）：scp root@192.168.21.249:/home/spider_house/*.jar /home/temp/
12、设置开机自启：直接编辑 /etc/rc.local文件
	例如：mysql开机自启完整模式 --- 
	touch /var/lock/subsys/local  #文件头
	/etc/init.d/mysqld start #mysql开机启动目录
13、删除文件(wes为要删除的文件名)：rm -rf wes
14、移动文件（移动headmap 文件到/wa/pages/）：mv headmap /wa/pages/
15、运行脚本：./test.sh
16、linux下svn版本回退： svn up -r 10    （10是版本号）
17、linux下svn查看历史版本：svn log
18、查看网络端口：netstat -ntlp
19、搜索网络端口22：netstat -ntlp|grep 22
20、查看防火墙状态：
	Ubuntu:utw status
	centos6:service iptables status
	centos7:firewall-cmd --state
21、关闭防火墙：
	Ubuntu:ufw disable
	centos6:service iptables status
	centos7:systemctl stop firewalld.service
22、查看更新系统时间
	查看时间：date
	date -s "20190712 18:30:50" //执行如下命令可以设置一个新的系统时间
	hwclock --systohc //保存设置时间
23、通过网络同步时间
	yum install -y ntpdate
	ntpdate 0.asia.pool.ntp.org
	hwclock --systohc
24、nginx使用
	查看nginx服务：ps -ef|grep nginx
	直接查看nginx进程id：ps -C nginx -o pid
	查询端口占用情况：netstat -anp | grep :80
	或：lsof -i:80
	nginx基本命令(必须在nginx启动文件目录下执行)：
		查看nginx版本号：./nginx -v
		启动：./nginx 
		重新加载：./nginx -s reload
		停止：./nginx -s stop 强制停止 或 ./nginx -s quit 待nginx进程处理任务完毕进行停止
		查看配置：./nginx  -t
		
25、linux文件查找
	find 它的格式为”find <指定目录> <指定条件> <指定动作>，例如搜索在根目录下的所有interfaces文件所在位置find / -name  'interfaces'，find / -name 'nginx'
26、查看linux版本：cat /proc/version
	CentOS（Community ENTerprise Operating System）是Linux发行版之一，它是来自于Red Hat Enterprise Linux依照开放源代码规定释 出的源代码所编译而成。
	由于出自同样的源代码，因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使 用。
	Ubuntu是一个以桌面应用为主的Linux操作系统。Ubuntu基于Debian发行版和GNOME桌面环境，与Debian的不同在于它每6个月会发布一个新 版本。
	Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力 量，用户可以方便地从社区获得帮助。
27、指定日志输出：nohup ./execute.sh > /home/xxx/log.log 2>&1 &
	a、语法：nohup [command] [args] [&]
 	b、说明：nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令，忽略所有挂断信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令，
 	添加 & （ 表示“and”的符号）到命令的尾部，如果不指定重定向，则日志默认输出到当前目录下nohup.out文件中，
 	一般提交如 ：nohup ./execute.sh & 这样日志或输出当前运行目下.nohup.out中
 	重定向：nohup ./execute.sh > /home/xxx/log.log 2>&1 & :这样日志会重定向到指定目录下
二、liunx脚本编写(扩展名并不影响脚本执行)
1、示例
#!/bin/sh	#指定脚本解释器，这里是用/bin/sh做解释器的
cd ~	#切换到当前用户的home目录    
mkdir shell_tut	#创建一个目录shell_tut
cd shell_tut	#切换到shell_tut目录
for ((i=0; i<10; i++)); do	#循环条件，一共循环10次
	touch test_$i.txt	#创建一个test_0…9.txt文件
done	#循环体结束
--mkdir, touch都是系统自带的程序，一般在/bin或者/usr/bin目录下。for, do, done是sh脚本语言的关键字

